home *** CD-ROM | disk | FTP | other *** search
- /**[f******************************************************************
- * CIBasic.h -- CIBasic Interface definition
- *
- * Copyright (c) 1996 Adobe Systems, Inc. All Rights Reserved
- *
- *
- * ABSTRACT:
- *
- * USAGE:
- *
- * ROUTINES DEFINED:
- * $Revision: 1.1 $
- *
- *
- *
- **f]******************************************************************/
- #ifndef _CIHYPH_H
- #define _CIHYPH_H
-
- #if !defined(LANDID)
- #define LANGID unsigned short // 16 bit language id
-
- /*** NOTE:
- *** These IDs are arbitrarily defined by Adobe. This is not
- *** a commitment that Adobe currently supports all the listed
- *** languages - only that some preparations are being made
- *** to support such languages in the future.
- ***
- *** Please do not shuffle them. Add new ones to the end.
- ***/
- #define LANGUAGE_AMERICAN 1 // American English
- #define LANGUAGE_BRITISH 2 // British English
- #define LANGUAGE_AUSTRALIAN 3 // Australian English
- #define LANGUAGE_GERMAN 4
- #define LANGUAGE_SWISS_GERMAN 5
- #define LANGUAGE_FRENCH 6
- #define LANGUAGE_CANADIAN_FRENCH 7
- #define LANGUAGE_SWISS_FRENCH 8
- #define LANGUAGE_SPANISH 9 // Castillian Spanish
- #define LANGUAGE_LATIN_SPANISH 10 // Latin American Spanish
- #define LANGUAGE_ITALIAN 11
- #define LANGUAGE_DANISH 12
- #define LANGUAGE_SWEDISH 13
- #define LANGUAGE_NORWEGIAN 14
- #define LANGUAGE_NYNORSK 15 // Norwegian dialect
- #define LANGUAGE_FINNISH 16
- #define LANGUAGE_DUTCH 17
- #define LANGUAGE_PORTUGUESE 18
- #define LANGUAGE_BRAZILIAN 19 // Brazilian Protuguese
- #define LANGUAGE_RUSSIAN 20
- #define LANGUAGE_UKRAINIAN 21
- #define LANGUAGE_BYELORUSSIAN 22
- #define LANGUAGE_SERBOCROAT 23
- #define LANGUAGE_CZECH 24
- #define LANGUAGE_SLOVAK 25
- #define LANGUAGE_LITHUANIAN 26
- #define LANGUAGE_LATVIAN 27
- #define LANGUAGE_ESTONIAN 28
- #define LANGUAGE_POLISH 29
- #define LANGUAGE_HUNGARIAN 30
- #define LANGUAGE_BULGARIAN 31
- #define LANGUAGE_ROMANIAN 32
- #define LANGUAGE_TURKISH 33
- #define LANGUAGE_GREEK 34
- #define LANGUAGE_AFRIKAANS 35
- #define LANGUAGE_JAPANESE 36
- #define LANGUAGE_CHINESE_TRADITIONAL 37
- #define LANGUAGE_CHINESE_SIMPLIFIED 38
- #define LANGUAGE_KOREAN 39
- #define LANGUAGE_CATALANS 40
- #endif
-
- #if (!defined(PA_DICTHYPH) && !defined(PA_ALGHYPH))
- // method
- #define PA_DICTHYPH 0x10 /* T if hyphenation should use dictionary */
- #define PA_ALGHYPH 0x20 /* T if hyphenation should be algorithmic */
- #endif
-
- #if (!defined(HY_NORM) && !defined(HY_PREF))
- #define HY_NORM 0x04 // Normal point
- #define HY_PREF 0x05 // Preferred point, use if possible
- #endif
-
- // Word buffer is a read only field. In other word, plugin can not modify the
- // word. Plug in can override hyphenation points. Hyphenation points can be
- // HY_NORM or HY_PREF. HY_PREF is the most preferred hyphenation spot.
- // HY_NORM is the normal hyphenation spot. For example, the wordBuf
- // "hyphenation", wordLen is 11. The hyphenation point is at *pHyphPoints[1]
- // and *pHyphPoints[5] ("hy-phen-ation"). The marked hyphenation points will either be HY_NORM
- // or HY_PREF (i.e. *pHyphPoints[1] and *pHyphPoints[5] is either HY_PREF
- // or HY_NORM). Plugin can modify the hyphenation points and returned event
- // is handled by plugin so PageMaker will use the new hyphenation map.
-
- typedef struct _PMHyphenateRec {
- LANGID language;
- unsigned short method; // either PA_DICTHYPH or PA_ALGHYPH
- unsigned char *pWordBuf; // word to hyphenation
- unsigned short *pWordLen; // word length
- unsigned char *pHyphPoints; // hyphenation points (HY_NORM or HY_PREF)
- } PMHyphenateRec, *PPMHyphenateRec;
-
- #endif
-